using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("BRMAnvilWeapons")]
	public class BRMAnvilWeapons : MonoBehaviour
	{
		[Attribute38("BRMAnvilWeapons.AnvilWeapon")]
		public class AnvilWeapon : MonoClass
		{
			public List<string> m_Events => method_3<Class272>("m_Events")?.method_25();

			public int m_CurrentWeaponIndex => method_2<int>("m_CurrentWeaponIndex");

			public AnvilWeapon(IntPtr address, string className)
				: base(address, className)
			{
			}

			public AnvilWeapon(IntPtr address)
				: this(address, "AnvilWeapon")
			{
			}
		}

		public List<AnvilWeapon> m_Weapons => method_3<Class271<AnvilWeapon>>("m_Weapons")?.method_25();

		public int m_LastWeaponIndex => method_2<int>("m_LastWeaponIndex");

		public BRMAnvilWeapons(IntPtr address, string className)
			: base(address, className)
		{
		}

		public BRMAnvilWeapons(IntPtr address)
			: this(address, "BRMAnvilWeapons")
		{
		}

		public void RandomWeaponEvent()
		{
			method_8("RandomWeaponEvent");
		}

		public int RandomSubWeapon(AnvilWeapon weapon)
		{
			return method_11<int>("RandomSubWeapon", new object[1] { weapon });
		}
	}
}
